package com.yaya.spring.aop.before;

import java.lang.reflect.Method;

import com.yaya.spring.aop.aspect.MyLogger;
import org.springframework.aop.MethodBeforeAdvice;


/*
 *
 * 前置通知
 * 作用:控制切面类中的代码将来要织入到切入点中的方法执行之前
 *
 */
public class BeforeAdvice implements MethodBeforeAdvice{
	private MyLogger logger;
	
	//参数1: 将来调用方法的镜像
	//参数2: 将来调用方法时传的参数
	//参数3: 将来指定的目标对象
	@Override
	public void before(Method method, Object[] args, Object target) throws Throwable {
		//目标对象调用方法之前,spring会自动调用这个before方法中的代码
		//所以,在这里编写的代码将来是要织入到目标对象中方法执行之前的
		
		logger.log("前置通知 -- "+method.getName()+"方法开始执行..");
		
	}

	public MyLogger getLogger() {
		return logger;
	}
	public void setLogger(MyLogger logger) {
		this.logger = logger;
	}
	
}
